package com.ants.boot.system.service;

import com.ants.boot.core.Response;
import com.ants.boot.system.domain.SysRole;
import com.ants.boot.system.dto.sysrole.AddRoleDto;
import com.ants.boot.system.dto.sysrole.QueryRoleDto;
import com.ants.boot.system.dto.sysrole.UpdateRoleDto;
import com.ants.boot.system.vo.sysrole.SelectRoleVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author 蚂蚁会花呗
 * @date 2022/2/15 15:44
 */
public interface SysRoleService extends IService<SysRole> {

    /**
     * 根据用户id查找用户所具有的的角色信息
     * @param userId
     * @return
     */
    List<String> findByUserId(Integer userId);

    /**
     * 分页搜索查询
     * @param dto
     * @return
     */
    IPage<SysRole> pageInfo(QueryRoleDto dto);


    /**
     * 更新角色信息
     * @param dto
     * @return
     */
    Response updateRole(UpdateRoleDto dto);

    /**
     * 新增
     * @param dto
     * @return
     */
    Response addRole(AddRoleDto dto);

    /**
     * 删除或者批量删除
     * @param ids
     * @return
     */
    boolean delRole(List<Integer> ids);

    /**
     * 更新状态
     * @param roleId
     * @param status
     * @return
     */
    boolean updateStatus(Integer roleId,Integer status);

    /**
     * 查询没有被删除的所有角色信息
     * @return
     */
    List<SelectRoleVo> listRoleNotRemove();

}
